package com.ccp.dev.workflow.service.bpm;

/**
 * ClassDescribe:
 *
 * @author :jiayueqiao
 * Date: 2019-10-28
 * Since:1
 */
public interface IBpmFlowableService {

    /**
     * 根据任务ID判断流程是否允许驳回。
     * @param taskId 任务id
     * @return
     */
    boolean isTaskAllowBack(String taskId);

    /**
     * 判断允许子流程实例是否允许驳回。
     * <pre>
     * 判断当前是否为子流程实例，并且当前节点位于第一个节点。
     * </pre>
     * @param taskId 任务id
     * @return
     */
    boolean allowCallActivityBack(String taskId);

    /**
     * 驳回到某个节点
     * @param taskId 任务id
     * @param nodeId 节点id
     * @return
     */
    boolean reject(String taskId, String nodeId);
}
